package com.tank.demo.game.model;

import com.tank.demo.game.model.base.Tank;
import com.tank.demo.game.model.base.Terrain;

import javax.annotation.security.RunAs;
import java.util.ArrayList;
import java.util.List;

/**
 * 每一局游戏的模型
 */
public class Game implements Runnable {

    /**
     * 游戏地图
     */
    private GameMap map = new GameMap();

    /**
     * 地图中的所有坦克集合
     */
    private List<Tank> tankList = new ArrayList<Tank>();

    /**
     * 地图中的所有炮弹集合
     */
    private List<Terrain> terrainList = new ArrayList<Terrain>();

    public Game(GameMap map) {
        this.map = map;
    }

    /**
     * 游戏启动方法
     * @return
     */
    public Game start(){
        //创建一个地图
        GameMap map = new GameMap();
        //创建一个游戏
        Game game = new Game(map);
        //运行这个游戏
        Thread t = new Thread(game);
        t.start();
    }

    @Override
    public void run() {
        //游戏进程的内容，处理游戏运行时的一些内容 例如子弹的飞行

    }

    /**
     * 添加玩家
     */
    public void addPlayer(){
        tankList.add(new Tank());
    }
}
